package cn.iocoder.yudao.module.iot.controller.admin.devicedataupload.vo;

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 物联网设备上报数据记录分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class DeviceDataUploadPageReqVO extends PageParam {

    @Schema(description = "物联网平台设备名称", example = "王五")
    private String deviceName;

    @Schema(description = "消息id", example = "17490")
    private String msgId;

    @Schema(description = "方法名称")
    private String method;

    @Schema(description = "ack标识 0-不需要回复 1-需要回复")
    private Integer ack;

    @Schema(description = "防拆状态 0-正常 1-安装 2-拆卸")
    private Integer inusing;

    @Schema(description = "温度报警值上限>=45&&<99")
    private Double wdbjysz;

    @Schema(description = "浓度报警值上限 >=5&&<25")
    private Double bjfz;

    @Schema(description = "当前设备温度")
    private Double wd;

    @Schema(description = "当前设备浓度")
    private Double rd;

    @Schema(description = "排风扇状态 1-开启 0-关闭")
    private Integer pqzt;

    @Schema(description = "气阀状态 1-开启 0-关闭")
    private Integer qfzt;

    @Schema(description = "报警状态等级 0-正常 1-预警 2-报警")
    private Integer bjzt;

    @Schema(description = "电池状态 0-正常 1-低电压")
    private Integer bclpEr;

    @Schema(description = "市电状态 0-无市电 1-市电正常")
    private Integer sdno;

    @Schema(description = "报警类别 1-温度报警 2-浓度报警", example = "1")
    private String wranType;

    @Schema(description = "标定状态 1-已标定 0-未标定")
    private Integer bdzt;

    @Schema(description = "标定指令 b000-b020-b030-b040-b050-b060（不同浓度场景），b111:进入标定程序，b222:			退出标定程序，b333标定失败")
    private String biaoding;

    @Schema(description = "设备端上报的错误信息")
    private String errMsg;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

}
